package com.egao.common.module.company.entity;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * 宣讲会(Preach)表实体类
 *
 * @author dl
 * @since 2021-01-25 10:30:41
 */
@Data
@ApiModel(description = "宣讲会")
@TableName("preach")
public class Preach implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("宣讲会")
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("发布对象 1单位 2学校")
    private String addType;

    @ApiModelProperty("单位编号")
    private Integer companyId;

    @ApiModelProperty("单位名称")
    private String companyName;

    @ApiModelProperty("标题")
    private String title;

    @ApiModelProperty("场地编号")
    private Integer fieldId;

    @ApiModelProperty("举办时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date holdTime;

    @ApiModelProperty("举办时间一日期 ")
    private Date holdTimeOneDate;

    @ApiModelProperty("举办时间一时间类型 1：上午 2：下午 3：晚上")
    private Integer holdTimeOneType;

    @ApiModelProperty("举办时间一时刻")
    private String holdTimeOneHour;

    @ApiModelProperty("举办时间二日期")
    private Date holdTimeTwoDate;

    @ApiModelProperty("举办时间二时间类型 1：上午 2：下午 3：晚上")
    private Integer holdTimeTwoType;

    @ApiModelProperty("举办时间二时刻")
    private String holdTimeTwoHour;

    @ApiModelProperty("举办时间三日期")
    private Date holdTimeThreeDate;

    @ApiModelProperty("举办时间三时间类型")
    private Integer holdTimeThreeType;

    @ApiModelProperty("举办时间三时刻")
    private String holdTimeThreeHour;

    @ApiModelProperty("选择举办时间日期")
    private Date choiceHoldTimeDate;

    @ApiModelProperty("选择举办时间类型")
    private Integer choiceHoldTimeType;

    @ApiModelProperty("选择举办时间时刻")
    private String choiceHoldTimeHour;

    @ApiModelProperty("举办时间类型（1、2、3）")
    private String applyTimeType;

    @ApiModelProperty("岗位名称")
    private String jobName;

    @ApiModelProperty("招聘人数")
    private String number;

    @ApiModelProperty("相关专业")
    private String majors;

    @ApiModelProperty("工作地点")
    private String area;

    @ApiModelProperty("学历限制  本科,硕士,博士")
    private String education;

    @ApiModelProperty("希望申请规模")
    private String scale;

    @ApiModelProperty("招聘邮箱")
    private String email;

    @ApiModelProperty("招聘网址")
    private String recruitWebsite;

    @ApiModelProperty("招聘电话")
    private String recruitMobile;

    @ApiModelProperty("招聘联系人")
    private String recruitContact;

    @ApiModelProperty("现场负责人")
    private String leader;

    @ApiModelProperty("现场负责人电话")
    private String leaderMobile;

    @ApiModelProperty("岗位薪资")
//    @TableField(exist = false)
    private String salary;

    @ApiModelProperty("薪资类型  0自定义 1面议")
    private String salaryType;

    @ApiModelProperty("最低薪资")
    private Integer salaryMin;

    @ApiModelProperty("最高薪资")
    private Integer salaryMax;

    @ApiModelProperty("招聘岗位及要求、简历投递方式等")
    private String content;

    @ApiModelProperty("来校宣讲人员信息")
    private String preachPerson;

    @ApiModelProperty("招聘信息状态 0待审核 1审核通过 2审核不通过")
    private String state;

    @ApiModelProperty("审核说明")
    private String stateContent;

    @ApiModelProperty("点击量")
    private Integer hits;

    @ApiModelProperty("职位编号")
    private String positionIds;

    @ApiModelProperty("职位名称")
    private String positionNames;

    @ApiModelProperty("是否取消 0: 否 1：是")
    private Integer invalid;

    @ApiModelProperty("推送匹配记录")
    private String pushList;

    @ApiModelProperty("是否推送  0.不推  1.推送")
    private String pushFlag;

    @ApiModelProperty("是否发送邮件 0 发送 1 不发送")
    private String emailFlag;

    @ApiModelProperty("发布人")
    private Integer createBy;

    @ApiModelProperty("参与人员审核状态 0审核通过 1审核不通过 2待审核 3待完善")
    private String workerState;

    @ApiModelProperty("参与人员审核说明")
    private String workerStateContent;

    @ApiModelProperty("是否有领导出席宣讲会")
    private String leaderAttend;

    @ApiModelProperty("进校车牌号")
    private String licenseNumber;

    @ApiModelProperty("接洽函")
    private String approachedImg;

    @ApiModelProperty("录入车牌状态 0已录入 1待录入 2无车不需要录入")
    private String carState;

    @ApiModelProperty("添加时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date createTime;

    @ApiModelProperty("编辑时间")
    private Date updateTime;

    @ApiModelProperty("逻辑删除 0正常 1删除")
    @TableLogic
    private Integer deleted;

    @ApiModelProperty("举办地点")
    @TableField(exist = false)
    private String holdAddress;

    @ApiModelProperty("职位")
    @TableField(exist = false)
    private List<Position> listPosition;

    @ApiModelProperty("原始编号id")
    private String oldId;

    @ApiModelProperty("附件集合")
    @TableField(exist = false)
    private List<Attachment> attachmentList;

    @ApiModelProperty("是否能力推荐 1、否 0、是")
    private String abilityFlag;

    @ApiModelProperty("具体需要能力")
    private String abilityContent;

    @ApiModelProperty("接洽函预览")
    @TableField(exist = false)
    private String approachedImgPreview;

    @ApiModelProperty("学校新增宣讲会")
    private String dataField;
}